package jpa.entitys.promis.common;

import java.io.Serializable;

import javax.persistence.*;

import java.math.BigDecimal;
import java.util.Date;


/**
 * The persistent class for the SITE_MEMO_HDR database table.
 * 
 */
@Entity
@Table(name="SITE_MEMO_HDR")
@NamedQueries({
    @NamedQuery(name = "SiteMemoHdr.findAll", query = " SELECT c FROM SiteMemoHdr c "),
    @NamedQuery(name = "SiteMemoHdr.findById", query = " SELECT c FROM SiteMemoHdr c WHERE c.id = :Id "),
    @NamedQuery(name = "SiteMemoHdr.findByStatus", query = " SELECT c FROM SiteMemoHdr c WHERE c.syncIssync = 'N' And c.status = :status"),
})
public class SiteMemoHdr extends jpa.entitys.common.CommonEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	@EmbeddedId
	private SiteMemoHdrPK id;
	
	@Override public String toString() { return org.apache.commons.lang.builder.ToStringBuilder.reflectionToString(this);}

	@Column(name="BALANCE_AMOUNT", precision=22)
	private BigDecimal balanceAmount;

	@Column(name="BASE_AMOUNT", precision=16, scale=2)
	private BigDecimal baseAmount;

	@Column(name="BATCH_ID", precision=10)
	private BigDecimal batchId;

	@Column(name="CASH_AMOUNT", precision=16, scale=2)
	private BigDecimal cashAmount;

	@Column(name="CHARGE_CODE", length=5)
	private String chargeCode;

	@Column(name="CREATED_BY")
	private String createdBy;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="CREATED_ON")
	private Date createdOn;

	@Column(length=5)
	private String currency;

	@Column(name="DEPARTMENT_CODE", length=30)
	private String departmentCode;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="DOCUMENT_REF_DATE")
	private Date documentRefDate;

	@Column(name="DOCUMENT_REF_NO", length=50)
	private String documentRefNo;

	@Column(name="EXCHANGE_RATE", precision=12, scale=8)
	private BigDecimal exchangeRate;

	@Column(name="FISCAL_PERIOD", precision=2)
	private BigDecimal fiscalPeriod;

	@Column(name="FISCAL_YEAR", precision=4)
	private BigDecimal fiscalYear;

	@Column(name="LAST_UPD_BY")
	private String lastUpdBy;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="LAST_UPD_ON")
	private Date lastUpdOn;

	@Column(length=255)
	private String narration;

	@Column(name="PAYMENT_SOURCE", length=2)
	private String paymentSource;

	@Column(name="PETTY_CASH_ACCOUNT_CODE", length=30)
	private String pettyCashAccountCode;

	@Column(length=30)
	private String project;

	@Column(name="REIMBURSE_VOUCHER_NUMBER", precision=6)
	private BigDecimal reimburseVoucherNumber;

	@Column(name="REIMBURSE_VOUCHER_SERIES", length=4)
	private String reimburseVoucherSeries;

	@Column(name="REIMBURSE_VOUCHER_TYPE", length=2)
	private String reimburseVoucherType;

	@Column(length=1)
	private String status;

	@Column(name="SYNC_CREATEDBY", length=100)
	private String syncCreatedby;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="SYNC_CREATEDON")
	private Date syncCreatedon;

	@Column(name="SYNC_EXTERNAL_REF_KEY", length=100)
	private String syncExternalRefKey;

	@Column(name="SYNC_EXTERNAL_REF_NO", length=100)
	private String syncExternalRefNo;

	@Column(name="SYNC_ISSTAGING", length=1)
	private String syncIsstaging;

	@Column(name="SYNC_ISSYNC", length=1)
	private String syncIssync;

	@Column(name="SYNC_UPDATEDBY", length=100)
	private String syncUpdatedby;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="SYNC_UPDATEDON")
	private Date syncUpdatedon;

	@Column(name="TAX_RATE", precision=16, scale=2)
	private BigDecimal taxRate;

	@Column(name="TAX_TYPE", length=2)
	private String taxType;

	@Column(name="TOT_BASE_AMOUNT", precision=22)
	private BigDecimal totBaseAmount;

	@Column(name="TOT_DEDUCT_AMOUNT", precision=22)
	private BigDecimal totDeductAmount;

	@Column(name="TOT_NET_AMOUNT", precision=22)
	private BigDecimal totNetAmount;

	@Column(name="TOT_VAT_AMOUNT", precision=22)
	private BigDecimal totVatAmount;

	@Column(name="TRANSACTION_CODE", length=5)
	private String transactionCode;

	@Column(name="VAT_AMOUNT", precision=16, scale=2)
	private BigDecimal vatAmount;

	@Column(name="VENDOR_CODE", length=30)
	private String vendorCode;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="VOUCHER_DATE")
	private Date voucherDate;

	@Column(name="WHT_AMOUNT", precision=16, scale=2)
	private BigDecimal whtAmount;

	@Column(name="WHT_RATE", precision=16, scale=2)
	private BigDecimal whtRate;

	@Column(name="WHT_TYPE", length=2)
	private String whtType;
	
	@Column(name="IS_INTERFACE")
	private String isInterface;

	public String getIsInterface() {
		return isInterface;
	}

	public void setIsInterface(String isInterface) {
		this.isInterface = isInterface;
	}

    public SiteMemoHdr() {
    }

	public SiteMemoHdrPK getId() {
		return this.id;
	}

	public void setId(SiteMemoHdrPK id) {
		this.id = id;
	}
	
	public BigDecimal getBalanceAmount() {
		return this.balanceAmount;
	}

	public void setBalanceAmount(BigDecimal balanceAmount) {
		this.balanceAmount = balanceAmount;
	}

	public BigDecimal getBaseAmount() {
		return this.baseAmount;
	}

	public void setBaseAmount(BigDecimal baseAmount) {
		this.baseAmount = baseAmount;
	}

	public BigDecimal getBatchId() {
		return this.batchId;
	}

	public void setBatchId(BigDecimal batchId) {
		this.batchId = batchId;
	}

	public BigDecimal getCashAmount() {
		return this.cashAmount;
	}

	public void setCashAmount(BigDecimal cashAmount) {
		this.cashAmount = cashAmount;
	}

	public String getChargeCode() {
		return this.chargeCode;
	}

	public void setChargeCode(String chargeCode) {
		this.chargeCode = chargeCode;
	}

	public String getCreatedBy() {
		return this.createdBy;
	}

	public void setCreatedBy(String createdBy) {
		this.createdBy = createdBy;
	}

	public Date getCreatedOn() {
		return this.createdOn;
	}

	public void setCreatedOn(Date createdOn) {
		this.createdOn = createdOn;
	}

	public String getCurrency() {
		return this.currency;
	}

	public void setCurrency(String currency) {
		this.currency = currency;
	}

	public String getDepartmentCode() {
		return this.departmentCode;
	}

	public void setDepartmentCode(String departmentCode) {
		this.departmentCode = departmentCode;
	}

	public Date getDocumentRefDate() {
		return this.documentRefDate;
	}

	public void setDocumentRefDate(Date documentRefDate) {
		this.documentRefDate = documentRefDate;
	}

	public String getDocumentRefNo() {
		return this.documentRefNo;
	}

	public void setDocumentRefNo(String documentRefNo) {
		this.documentRefNo = documentRefNo;
	}

	public BigDecimal getExchangeRate() {
		return this.exchangeRate;
	}

	public void setExchangeRate(BigDecimal exchangeRate) {
		this.exchangeRate = exchangeRate;
	}

	public BigDecimal getFiscalPeriod() {
		return this.fiscalPeriod;
	}

	public void setFiscalPeriod(BigDecimal fiscalPeriod) {
		this.fiscalPeriod = fiscalPeriod;
	}

	public BigDecimal getFiscalYear() {
		return this.fiscalYear;
	}

	public void setFiscalYear(BigDecimal fiscalYear) {
		this.fiscalYear = fiscalYear;
	}

	public String getLastUpdBy() {
		return this.lastUpdBy;
	}

	public void setLastUpdBy(String lastUpdBy) {
		this.lastUpdBy = lastUpdBy;
	}

	public Date getLastUpdOn() {
		return this.lastUpdOn;
	}

	public void setLastUpdOn(Date lastUpdOn) {
		this.lastUpdOn = lastUpdOn;
	}

	public String getNarration() {
		return this.narration;
	}

	public void setNarration(String narration) {
		this.narration = narration;
	}

	public String getPaymentSource() {
		return this.paymentSource;
	}

	public void setPaymentSource(String paymentSource) {
		this.paymentSource = paymentSource;
	}

	public String getPettyCashAccountCode() {
		return this.pettyCashAccountCode;
	}

	public void setPettyCashAccountCode(String pettyCashAccountCode) {
		this.pettyCashAccountCode = pettyCashAccountCode;
	}

	public String getProject() {
		return this.project;
	}

	public void setProject(String project) {
		this.project = project;
	}

	public BigDecimal getReimburseVoucherNumber() {
		return this.reimburseVoucherNumber;
	}

	public void setReimburseVoucherNumber(BigDecimal reimburseVoucherNumber) {
		this.reimburseVoucherNumber = reimburseVoucherNumber;
	}

	public String getReimburseVoucherSeries() {
		return this.reimburseVoucherSeries;
	}

	public void setReimburseVoucherSeries(String reimburseVoucherSeries) {
		this.reimburseVoucherSeries = reimburseVoucherSeries;
	}

	public String getReimburseVoucherType() {
		return this.reimburseVoucherType;
	}

	public void setReimburseVoucherType(String reimburseVoucherType) {
		this.reimburseVoucherType = reimburseVoucherType;
	}

	public String getStatus() {
		return this.status;
	}

	public void setStatus(String status) {
		this.status = status;
	}

	public String getSyncCreatedby() {
		return this.syncCreatedby;
	}

	public void setSyncCreatedby(String syncCreatedby) {
		this.syncCreatedby = syncCreatedby;
	}

	public Date getSyncCreatedon() {
		return this.syncCreatedon;
	}

	public void setSyncCreatedon(Date syncCreatedon) {
		this.syncCreatedon = syncCreatedon;
	}

	public String getSyncExternalRefKey() {
		return this.syncExternalRefKey;
	}

	public void setSyncExternalRefKey(String syncExternalRefKey) {
		this.syncExternalRefKey = syncExternalRefKey;
	}

	public String getSyncExternalRefNo() {
		return this.syncExternalRefNo;
	}

	public void setSyncExternalRefNo(String syncExternalRefNo) {
		this.syncExternalRefNo = syncExternalRefNo;
	}

	public String getSyncIsstaging() {
		return this.syncIsstaging;
	}

	public void setSyncIsstaging(String syncIsstaging) {
		this.syncIsstaging = syncIsstaging;
	}

	public String getSyncIssync() {
		return this.syncIssync;
	}

	public void setSyncIssync(String syncIssync) {
		this.syncIssync = syncIssync;
	}

	public String getSyncUpdatedby() {
		return this.syncUpdatedby;
	}

	public void setSyncUpdatedby(String syncUpdatedby) {
		this.syncUpdatedby = syncUpdatedby;
	}

	public Date getSyncUpdatedon() {
		return this.syncUpdatedon;
	}

	public void setSyncUpdatedon(Date syncUpdatedon) {
		this.syncUpdatedon = syncUpdatedon;
	}

	public BigDecimal getTaxRate() {
		return this.taxRate;
	}

	public void setTaxRate(BigDecimal taxRate) {
		this.taxRate = taxRate;
	}

	public String getTaxType() {
		return this.taxType;
	}

	public void setTaxType(String taxType) {
		this.taxType = taxType;
	}

	public BigDecimal getTotBaseAmount() {
		return this.totBaseAmount;
	}

	public void setTotBaseAmount(BigDecimal totBaseAmount) {
		this.totBaseAmount = totBaseAmount;
	}

	public BigDecimal getTotDeductAmount() {
		return this.totDeductAmount;
	}

	public void setTotDeductAmount(BigDecimal totDeductAmount) {
		this.totDeductAmount = totDeductAmount;
	}

	public BigDecimal getTotNetAmount() {
		return this.totNetAmount;
	}

	public void setTotNetAmount(BigDecimal totNetAmount) {
		this.totNetAmount = totNetAmount;
	}

	public BigDecimal getTotVatAmount() {
		return this.totVatAmount;
	}

	public void setTotVatAmount(BigDecimal totVatAmount) {
		this.totVatAmount = totVatAmount;
	}

	public String getTransactionCode() {
		return this.transactionCode;
	}

	public void setTransactionCode(String transactionCode) {
		this.transactionCode = transactionCode;
	}

	public BigDecimal getVatAmount() {
		return this.vatAmount;
	}

	public void setVatAmount(BigDecimal vatAmount) {
		this.vatAmount = vatAmount;
	}

	public String getVendorCode() {
		return this.vendorCode;
	}

	public void setVendorCode(String vendorCode) {
		this.vendorCode = vendorCode;
	}

	public Date getVoucherDate() {
		return this.voucherDate;
	}

	public void setVoucherDate(Date voucherDate) {
		this.voucherDate = voucherDate;
	}

	public BigDecimal getWhtAmount() {
		return this.whtAmount;
	}

	public void setWhtAmount(BigDecimal whtAmount) {
		this.whtAmount = whtAmount;
	}

	public BigDecimal getWhtRate() {
		return this.whtRate;
	}

	public void setWhtRate(BigDecimal whtRate) {
		this.whtRate = whtRate;
	}

	public String getWhtType() {
		return this.whtType;
	}

	public void setWhtType(String whtType) {
		this.whtType = whtType;
	}

}